The global positioning system (GPS) may be used for determining the position of a user on or near the earth, from signals received from multiple orbiting satellites. The orbits of the GPS satellites are arranged in multiple planes, in order that signals can be received from at least four GPS satellites at any selected point on or near the earth.
The orbits of the GPS satellites are determined with accuracy from fixed ground stations and are relayed back to the spacecraft. In navigation applications of GPS, the latitude, longitude, and altitude of any point close to the earth can be calculated from the times of propagation of the electromagnetic signals from four or more of the spacecraft to the unknown location. A measured range, or "pseudorange", between the GPS receiver at the unknown location and the four satellites within view is determined based on these propagation times. The measured range is referred to as pseudorange because there is generally a time difference or offset between timing clocks on the satellites and a timing clock within the GPS receiver. Thus, for three-dimensional position determination at least four satellite signals are needed to solve for four unknowns, i.e., the time-offset together with the three-dimensional position.
The nature of the signals transmitted from GPS satellites is well known from the literature, but will be described briefly by way of background. Each satellite transmits two spread-spectrum signals in the L band, known as L1 and L2, with separate carrier frequencies. Two signals are needed if it is desired to eliminate an error that arises due to the refraction of the transmitted signals by the ionosphere. Each of the carrier signals is modulated in the satellite by at least one of two pseudorandom codes unique to the satellite. This allows the L band signals from a number of satellites to be individually identified and separated in a receiver. Each carrier is also modulated by a slowly-varying data signal defining the satellite orbits and other system information.
One of the pseudorandom codes is referred to as the C/A (clear/acquisition) code, while the second is known as the P (precision) code. A pseudorandom code sequence is a series of numbers that are random in the sense that knowledge of which numbers have already been received does not provide assistance in predicting the next received number. When a binary pseudorandom code, i.e., a code consisting of ones and zeroes, is used to modulate the phase of a carrier signal, the result is a signal having a spectral density that follows a [(sin x)/x].sup.2 distribution. Because the resultant signal lacks energy at the carrier frequency and the signal energy is spread over a band of frequencies determined by the "chip" rate (i.e., the rate at which the pseudorandom binary sequence is docked), the resultant signal is referred to as a suppressed-carrier spread-spectrum signal. One advantage of spread spectrum signals is that they are less susceptible to jamming than are signals of narrower bandwidth.
The P-code has a 10.23 MHz clock rate and is used to modulate the L1 quadrature phase and L2 in-phase carriers generated within the satellite. The P-code repeats approximately only once every week, i.e, is seven days in length. In addition, the L1 signal of each satellite includes an in-phase carrier, which is in phase quadrature with the P-code carrier, modulated by the C/A code. The C/A code has a 1.023 MHz chip rate and repeats every millisecond. Further, both carriers are modulated by the above-referenced slowly varying (50 bit per second) data stream.
In the GPS receiver, the signals corresponding to the known P-code and C/A code may be generated in the same manner as in the satellite. The L1 and L2 signals from a given satellite are demodulated by aligning the phases, i.e., adjusting the timing, of the locally-generated codes with those modulated onto the signals from that satellite. In order to achieve such phase alignment the locally generated code replicas are correlated with the received signals until the resultant output signal power is maximized. Since the time at which each particular bit of the pseudorandom sequence is transmitted from the satellite is defined, the time of receipt of a particular bit can be used as a measure of the transit time or range to the satellite. Again, because the C/A and P-codes are unique to each satellite, a specific satellite may be identified based on the results of the correlations between the received signals and the locally-generated C/A and P-code replicas.
As a consequence of the repetition of the C/A code approximately once every millisecond, correlation at the GPS receiver may be performed in the absence of precise knowledge of the time of transmission of each C/A code bit. Accordingly, acquisition of the P-code is generally accomplished by first acquiring, or "locking on" to the C/A code, since there exists a predefined timing relationship between the C/A code and P-code unique to each satellite. Once the C/A code has been acquired, the C/A-code modulated carrier component of the L1 signal may be recovered through demodulation. If extreme accuracy in the quantity being measured by the receiver is not required, use of the L1 signal carrier alone may allow for satisfactory "carrier-wave" measurements. However, when high resolution carrier-wave measurements are desired to be made, or when measurements are desired to be made quickly, the L2 carrier signal must also be utilized. That is, the unknown ionospheric delay of the L1 and L2 carriers may be eliminated when both of the L1 and L2 carriers are used.
Although both the C/A code and P-code sequences unique to each satellite are known, each GPS satellite is provided with the capability of modulating its P-code with a secret signal prescribed by the United States government. This "anti-spoofing" (A/S) allows the GPS system to be used for military applications by preventing jamming signals based on known P-codes from being interpreted as actual satellite signals. When A/S modulation is employed an additional pseudorandom code, generally referred to as the W-code, is impressed upon the P-code. The combination of the P-code and the W-code is typically referred to as the Y-code. While the C/A code and P-code unique to each satellite are publicly known, the same is not true of the W-code. From measurements using high-gain dish antennas it has been empirically determined that the W-code chip rate is approximately 500 kHz, or roughly 1/20.sup.th of the P-code chip rate.
While the L1 signal includes a quadrature phase (Q) carrier modulated by the P code and in-phase (I) carrier modulated by the C/A-code, the L2 signal is modulated only by the P-code. Accordingly, when A/S is employed it would not be possible to extract the carrier from an anti-spoofed L2 signal using the correlation techniques described above. This may be appreciated by noting that the anti-spoofed L2 signal is modulated by the Y-code, and local generation of a Y-code replica within a given GPS receiver is precluded in the absence of knowledge of the secret W-code. As a consequence, a number of techniques have been suggested for obtaining access to the L2 carrier even in the presence of A/S encryption.
In a first technique the received L2 signal is multiplied by itself, or "squared", in order to eliminate its modulating terms. The squaring process results in an output signal at a single frequency even in the presence of unknown Y-code modulation, and enables subsequent phase measurement of the resultant single-frequency signal. Unfortunately, however, this squaring process is disadvantageous in at least two respects. First, the squared output frequency is twice the L2 carrier frequency, thus resulting in an output wavelength of one-half of the wavelength of the L2 carrier. As is well known, such a reduction in wavelength increases the number of whole-cycle ambiguities in carrier-wave measurements. Second, it is required that this squaring process be performed over a bandwidth encompassing a significant portion of the incident spread spectrum signal. This admits a significant level of noise energy into the receiver, thereby degrading signal to noise ratio relative to techniques of carrier frequency recovery relying on a direct correlation process.
In a second technique, commonly known as cross-correlation, the incident L2 signal is multiplied by the received L1 signal rather than being squared. This technique is premised on the knowledge that the P-code information carried by the L1 and L2 signals is synchronized at the time of transmission from a particular satellite. However, the aforementioned ionospheric refraction of the L1 and L2 signals results in a delay of L2 relative to L1. Accordingly, the P-codes on the L1 and L2 signals are aligned by adjusting a variable delay element within the L1 signal path until the output power of the cross-correlation process is maximized. Since the cross-correlation is still performed in the wide spread spectrum bandwidth, employment of this technique also results in a degraded signal to noise ratio. The degradation is somewhat less, however, as a consequence of the increased transmitted energy in the L1 signal relative to the L2 signal.
In order to reduce the signal to noise degradation inherent in the techniques described above, it has been suggested in a third technique to adjust the phase of a locally generated replica of the known P-code until a strong demodulated signal appears. This narrower bandwidth signal is then squared in order to eliminate the unknown modulation without degrading the signal to noise ratio as much as when the entire L2 signal is squared. Such a technique is described in, for example, U.S. Pat. No. 4,972,431 to Keegan (1990). Although leading to improved signal to noise ratio, the technique described by Keegan results in a doubling of the L2 frequency during the squaring process, thereby reducing the observable wavelength by one-half. Again, such a wavelength reduction results in a commensurate decrease in the number of whole-cycle ambiguities to be resolved.
In a fourth technique, described by Lorenz et al. in U.S. Pat No. 5,134,407 (1992), the L1 and L2 signals are initially correlated with locally generated P-code and carrier signals. The resultant signals are then integrated for a duration estimated to be the period of the classified W-code. Based on these integration processes separate estimates are made of the unknown W-code bit. In a particular implementation an estimated W-code bit polarity obtained on the L2 channel is cross correlated with the L1 signal after decorrelation by the P-code replica. Similarly, an estimated polarity of the W-code bit obtained on the L1 channel is cross correlated with the L2 signal after decorrelation by the P-code replica. Although allowing for improved signal to noise ratio relative to other methods of L2 carrier recovery, the method described by Lorenz does not yield optimal accuracy as a consequence of the "hard" decision made in estimating values for the individual W-code bits. That is, each bit is specifically determined to be one of two binary values by comparing the results of each integration process with a predefined threshold, thereby resulting in a less than optimal signal to noise ratio.
Accordingly, it is an object of the present invention to provide a technique of recovering, with optimal signal to noise ratio, the carrier phase of GPS signals encrypted with the classified W-code.